
// 1、去字符串前后的空格
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, "");
};

/**
 * 跳转到指定的指定的地址
 * 
 * @author 李广彬
 * @param url 要跳转的地址
 * @param {} method get/post
 * @param {} target 目标框架
 * @param {} contentId 提交时会提交容器内的内容
 */
function jump(url, method, contentId, target) {
	var formName="jumpForm";
	var form = $("#"+formName);
	if (form.html() != undefined) {
		form.remove();
	}
	$("body").append('<form method="post" id="'+formName+'"></form>');

	if (method != undefined) {
		form.attr("method", method);
	}
	if (target != undefined) {
		form.attr("target", target);
	}
	if (contentId != undefined) {
		$(contentId).clone().prependTo(form);
	}
	form.attr("action", url);
	form.submit();
}
/**
 * 比较两个日期字符串的时间大小
 * 
 * @author 李广彬
 * @param ds1 2001-01-02
 * @param ds2 2001-01-09
 * @returns {Number}
 */
function dateAfter(ds1, ds2) {
	var d1 = new Date(ds1.replace(new RegExp("-", "gm"), "/"));
	var d2 = new Date(ds2.replace(new RegExp("-", "gm"), "/"));
	return d1 - d2;
}

/**
 * 增加option项
 * 
 * @author 李广彬
 * @param sId select对像ID
 * @param oVal 选项的值
 * @param oShowVal 选项的显示值
 * @param oName 选项的名称
 * @param oId 选项的ID
 */
function addOption(sId, oVal, oShowVal, oName, oId) {
	var optStr = "<option";
	optStr += (oVal == undefined ? '' : ' value="' + oVal + '"');
	optStr += (oName == undefined ? '' : ' name="' + oName + '"');
	optStr += (oId == undefined ? '' : ' id="' + oId + '"');
	optStr += '>';
	optStr += oShowVal;
	optStr += "</option>"
	$(sId).append(optStr);
}

/**
 * 判读obj是否为空
 * 
 * @author 李广彬
 * @param obj
 */
function isUnEmpty(obj) {
	var flag = false;
	if (null != obj || typeof obj != "undefined") {
		flag = true;
	}
	return flag;
}

/**
 * 设置文本域的内容 [解决浏览器的兼容问题]
 * 
 * @author 李广彬
 * @param selector jquery选择器
 * @param content 设置内容
 */
function setTextarea(selector, content) {
	$(selector).val(content);
	$(selector).text(content);
}

/**
 * 锚地址生成
 * 
 * @author 李广彬
 * @param anchorName 锚名字 还带#号
 * @param url 锚前的url 如果没有 可为空
 * @returns 锚地址
 */
function anchorBuild(anchorName, url) {
	anchorName ? anchorName = "#" + anchorName : anchorName = "#";
	if (url) {
		var thisURL = document.URL;
		var urls = thisURL.split("#");
		url = urls[0];
	} else {
		url = "";
	}

	return url + anchorName;
}

/**
 * 时间差逻辑
 * 
 * @author ligb
 * @param times 时间长整型 1368769732000
 * @param baseTimes 基准时间
 */
function timesBuild(times,baseTimes) {
	// 1.秒前
	// 2.分前
	// 3.今天 时分
	// 4.月 日 时分
	// 5.年 月 日 时 分
	var timeStr = "10秒前";
	if (times != undefined && times) {
		var currTime = new Date();
		var dateTime = new Date();
		if(baseTimes!=undefined&&baseTimes){
			currTime.setTime(parseInt(baseTimes));
		}
		dateTime.setTime(parseInt(times));
		
		var D000 = new Date(currTime.getFullYear(), currTime.getMonth(), currTime.getDate(), 0, 0, 0);
		var D00000 = new Date(currTime.getFullYear(), 0, 1, 0, 0, 0);

		var m = parseInt((currTime.getTime() - dateTime.getTime()) / 1000);
		var f = parseInt((currTime.getTime() - dateTime.getTime()) / 1000 / 60);
		var s = parseInt((currTime.getTime() - dateTime.getTime()) / 1000 / 60 / 60);
		var t = parseInt(dateTime.getTime() - D000.getTime());
		var n = parseInt(dateTime.getTime() - D00000.getTime());
		var minute = dateTime.getMinutes();

		if (minute < 9)
			minute = "0" + minute;
		if (m <= 0 || m < 10) {
			timeStr = "10 秒前";
		} else if (m < 60) {
			timeStr = m + "秒前";
		} else if (f < 60) {
			timeStr = f + "分前";
		} else if (n < 0) {
			timeStr = dateTime.getFullYear() + "年" + (dateTime.getMonth() + 1) + "月" + dateTime.getDate() + "日 "
					+ dateTime.getHours() + ":" + minute;
		} else if (t < 0) {
			timeStr = (dateTime.getMonth() + 1) + "月" + dateTime.getDate() + "日 " + dateTime.getHours() + ":" + minute;
		} else {
			timeStr = "今天  " + dateTime.getHours() + ":" + minute;
		}
	}
	return timeStr;
}

/**
 * 元素定位
 * 
 * @param positionObj 需要定位的元素[只有此参数时会定位到显示区中间]
 * @param relativeObj 相对定位的对像[未实现]
 * @param callback 回调函数
 */
function PositionObj(positionObj, relativeObj,callback) {
	var sTop=document.documentElement.scrollTop || document.body.scrollTop;
	var cWidth=document.documentElement.clientWidth || document.body.clientWidth;
	var cHeight=document.documentElement.clientHeight || document.body.clientHeight;
	var POWidth=$(positionObj).width();
	var POHeight=$(positionObj).height();
	var cLeft=(cWidth-POWidth)/2;
	var cTop=(cHeight-POHeight)/2;
	cLeft=cLeft>0?cLeft:0;
	cTop=cTop>0?cTop+sTop:sTop;
	if(relativeObj){
		var position=$(relativeObj).position();
		cLeft=position.left;
		cTop=position.top;
	}
	//alert("sTop:"+sTop+" cWidth:"+cWidth+" cHeight"+cHeight+" POWidth:"+POWidth+" POHeight:"+POHeight+" cLeft:"+cLeft+" cTop:"+cTop );
	$(positionObj).css("left",cLeft+"px").css("top",cTop+"px");
	
	if(callback){
		callback(positionObj,relativeObj);
	}
}


/**
 * 给指定的元素加默认值[当对像为空时显示默认值，不为空时显示原值]
 * 
 * @param selector 元素选择器[文本框、文本域]
 * @param content 默认内容
 */
function initEleDefCont(selector,content) {
	$(selector).unbind();
	$(selector).attr("defVal",content);
	$(selector).bind("focus",function() {
		var val=$(selector).val();
		if(val!=undefined&&$.trim(val)==content){
			$(selector).val("");
			$(selector).text("");
			
		}
	});
	$(selector).bind("blur",function() {
		var val=$(selector).val();
		if(val!=undefined&&$.trim(val).length==0){
			$(selector).val(content);
			$(selector).text(content);
			
		}
	});
	
	//取文本框的值[小插件]
	jQuery.fn.extend({
		getTxtVal : function(content) {
			var defVal="";
			var val=jQuery(this).val();
			if(content){
				defVal=content;
			}else if(typeof jQuery(this).attr("defVal")!=undefined){
				defVal=jQuery(this).attr("defVal");
			}
			if(val==defVal){
				val="";
			}
			return val;
		}
	});
}

/**
 * 对像转为json字符串
 * 
 * @param obj 要转换的对像
 * @returns
 */
function obj2str(obj) {
	var r = [];
	if (typeof o == "string" || obj == null) {
		return obj;
	}
	if (typeof obj == "object") {
		if (!obj.sort) {
			r[0] = "{";
			for ( var i in obj) {
				r[r.length] = "'" + i + "'";
				r[r.length] = ":";
				r[r.length] = "'" + obj2str(obj[i]) + "'";
				r[r.length] = ",";
			}
			r[r.length - 1] = "}";
		} else {
			r[0] = "[";
			for ( var i = 0; i < obj.length; i++) {
				r[r.length] = obj2str(obj[i]);
				r[r.length] = ",";
			}
			r[r.length - 1] = "]";
		}
		return r.join("");
	}
	return obj.toString();
}

/**
 * 禁用按钮对象
 * 
 * @param eleArray 例如：{"#objID"}
 * @returns
 */
function disabledEle(selector) {
	if (isUnEmpty(selector)) {
		$(selector).attr("disabled", "disabled");
	}
}

/**
 * 启用按钮对象
 * 
 * @param eleArray 例如：{"#objID"}
 */
function enabledEle(eleArray) {
	if (isUnEmpty(eleArray)) {// 显示按钮
		$(selector).removeAttr("disabled");
	}
}
